//
//  PopoverPresentationController.swift
//  WBDemo
//
//  Created by Meng on 16/12/20.
//  Copyright © 2016年 demo. All rights reserved.
//

import UIKit

class PopoverPresentationController: UIPresentationController {
    /*
     1.如果不自定义转场modal出来的控制器会移除原有的控制器
     2.如果自定义转场modal出来的控制器不会移除原有的控制器
     3.如果不自定义转场modal出来的控制器的尺寸和屏幕一样
     4.如果自定义转场modal出来的控制器的尺寸我们可以自己在containerViewWillLayoutSubviews方法中控制
     5.containerView 非常重要, 容器视图, 所有modal出来的视图都是添加到containerView上的
     6.presentedView() 非常重要, 通过该方法能够拿到弹出的视图
     */
    override func containerViewWillLayoutSubviews() {
        super.containerViewWillLayoutSubviews()
        let w : CGFloat = 200.0
        let h = w
        let x = (UIScreen.main.bounds.width - w) * 0.5
        let y : CGFloat = 55.0
        
        presentedView?.frame = CGRect(x: x, y: y, width: w, height: h)
        
        containerView?.insertSubview(coverButton, at: 0)
    }
    
    // MARK: - 懒加载
    private lazy var coverButton: UIButton = {
        let btn = UIButton()
        btn.frame = UIScreen.main.bounds
        btn.backgroundColor = UIColor.clear
        btn.addTarget(self, action: #selector(coverButtonClick), for: .touchUpInside)
        return btn
    }()
    
    @objc private func coverButtonClick() {
        presentedViewController.dismiss(animated: true, completion: nil)
    }
    
}
